package cn.yeziji.forum.dao.intf;

import cn.org.atool.fluent.mybatis.base.IBaseDao;
import cn.yeziji.forum.entity.ForumChatroomEntity;
import cn.yeziji.forum.vo.chatroom.UserMsgStatisticVO;

import java.util.Collection;
import java.util.List;

/**
 * 论坛聊天记录
 *
 * @author gzkemays
 * @since 2022/03/27 18:41
 */
public interface ForumChatroomDao extends IBaseDao<ForumChatroomEntity> {
  /**
   * 批量保存
   *
   * @param list entity 列表
   */
  void batchSave(Collection<ForumChatroomEntity> list);

  /**
   * 获取聊天记录
   *
   * @param chatroom 聊天室房间
   * @param cache 是否查询缓存
   * @return 聊天记录
   * @deprecated
   */
  List<ForumChatroomEntity> getChatroomRecords(String chatroom, boolean cache);

  /**
   * 更新聊天室名
   *
   * @param nickname 用户名
   */
  void updateChatroomNameByNickname(String nickname);

  /**
   * 根据用户 id 获取聊天信息
   *
   * @param userId 用户 id
   * @return 用户聊天信息
   */
  List<UserMsgStatisticVO> getUserMsgByUserId(Integer userId);

  /**
   * 获取用户聊天室统计信息
   *
   * @return 聊天室统计信息
   */
  List<UserMsgStatisticVO> getUserStatistic();
}
